package com.yxjwzpx.management.service;

import com.yxjwzpx.management.domain.FaultReport;

import java.util.List;
import java.util.Map;

/**
 * 故障上报Service接口
 * 
 * @author yxjwzpx
 * @date 2025-04-09
 */
public interface IFaultReportService 
{
    int countThisMonthByUserId(Long userId);

    List<Map<String, Object>> getFaultTypeDistributionByUserId(Long userId);




    /**
     * 查询故障上报
     * 
     * @param reportId 故障上报主键
     * @return 故障上报
     */
    public FaultReport selectFaultReportByReportId(Long reportId);

    /**
     * 查询故障上报列表
     * 
     * @param faultReport 故障上报
     * @return 故障上报集合
     */
    public List<FaultReport> selectFaultReportList(FaultReport faultReport);

    /**
     * 新增故障上报
     * 
     * @param faultReport 故障上报
     * @return 结果
     */
    public int insertFaultReport(FaultReport faultReport);

    /**
     * 修改故障上报
     * 
     * @param faultReport 故障上报
     * @return 结果
     */
    public int updateFaultReport(FaultReport faultReport);

    /**
     * 批量删除故障上报
     * 
     * @param reportIds 需要删除的故障上报主键集合
     * @return 结果
     */
    public int deleteFaultReportByReportIds(Long[] reportIds);

    /**
     * 删除故障上报信息
     * 
     * @param reportId 故障上报主键
     * @return 结果
     */
    public int deleteFaultReportByReportId(Long reportId);
}
